package com.huawei.mptcp.utils;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashSet;

import android.util.Log;

/**
 * 
 * @author hujiangshui
 *
 */
public class ILogUtil {
	private static final boolean DEBUG = true;
	private static final HashSet<String> ignorTag = new HashSet<String>();
	
	private static boolean allowDebug(){
		return DEBUG;
	}
	
	static{
//		ignorTag.add("Asyntask");
//		ignorTag.add("AAAAAAAAAA");
//		ignorTag.add("Connection is ");
//		ignorTag.add("Connection install ");
//		
//		ignorTag.add("checkFile");
//		ignorTag.add("AsyntaskHour");
//		ignorTag.add("CheckUid");
//		ignorTag.add("Asyntasklimit");
//		ignorTag.add("AsyntaskJson");
//		ignorTag.add("ActivityThread");
//
//		ignorTag.add("findUin");
//		ignorTag.add("updateDevice");
//		ignorTag.add("ConfigUtil");
		
//		ignorTag.add("uploadLog001");
//		ignorTag.add("Reg");
//		ignorTag.add("deviceId");
//		ignorTag.add("updateDeviceA");
//		ignorTag.add("updateGGG");
//		ignorTag.add("updateDevice");
//		ignorTag.add("UploadResc");
//		ignorTag.add("findUinFinalli");
//		ignorTag.add("ActivityThread");
	}
	
	public static void v(String TAG, String msg) {
		if (allowDebug() && !ignorTag.contains(TAG)) {
			Log.v(TAG, msg);
		}
	}

	public static void d(String TAG, String msg) {
		if (allowDebug()  && !ignorTag.contains(TAG)) {
			Log.d(TAG, msg);
		}
	}

	public static void i(String TAG, String msg) {
		if (allowDebug()  && !ignorTag.contains(TAG)) {
			Log.i(TAG, msg);
		}
	}

	public static void w(String TAG, String msg) {
		if (allowDebug()  && !ignorTag.contains(TAG)) {
			Log.w(TAG, msg);
		}
	}

	public static void e(String TAG, String msg) {
		if (allowDebug()  && !ignorTag.contains(TAG)) {
			Log.e(TAG, msg);
		}
	}

	public static void exception(String TAG,Exception e) {
		if (allowDebug()  && !ignorTag.contains(TAG)) {
			StringWriter sw = new StringWriter();
			PrintWriter pw = new PrintWriter(sw);
			e.printStackTrace(pw);
			Log.e(TAG, sw.toString());
		}
	}
}
